GLM Post-Training Open-Source Map

导言

GLM-5/5.2 已公开模型权重、技术报告、slime 大模型 RL 框架和部分昇腾训练/推理能力,但这些材料处在不同层次。论文公开、仓库中有同名函数、存在可运行 recipe、能够复现 GLM-5.2、已经打通 NPU 端到端,是五件不同的事。

本文不重复上一篇《GLM Post-Training Beyond SFT》的公式推导,而是把 Reasoning/Agentic/General RL、IcePop、TITO、DIS、DSA Indexer、Cross-Stage OPD、MOPD、SAO 与 CompactionRL 逐项落到公开仓库,回答三个工程问题:slime 里有什么、昇腾 NPU 到了哪一层、智谱/THUDM 还有哪些相关开源仓。

先给结论

截至 2026 年 8 月 6 日,按固定 commit 核验后的结论是:

  1. Reasoning RL 已有最完整的公开骨架。slime 给出了 GLM-5.2 744B-A40B 的 32 节点、256 张 H100 训练配方,包含 GRPO、DAPO-Math-17k、DSA/IndexShare、训练 BF16、rollout FP8 和 TIS;但它不是官方内部 Reasoning RL 全量数据、奖励和阶段配置的公开复刻。[^slime_glm52]
  2. Agentic RL 的框架与动作记录链路已经公开不少。slime 的 coding-agent 示例保存 exact token IDs、rollout log-prob 与 loss mask,strands-sglang 目录还提供了明确命名的 TITO 可运行示例;THUDM/AgentRL 则公开了异步 Agentic GRPO 框架。不过,GLM-5 报告中的 TITO、DIS、DP-aware routing 与内部环境没有以一份 GLM 同配置 recipe 整体发布。[^slime_agent][^slime_tito][^agentrl]
  3. General RL 主要停留在报告级。GLM-5 公开了混合 reward 的方法,但没有找到对应阶段的数据混合、reward 服务、采样比例和 GLM recipe。[^glm5]
  4. IcePop 在 slime 中确实有函数,但公开 GLM-5.2 脚本没有显式选择它。当前脚本的 --use-tis 默认走 vanilla_tis_function 的截断权重;icepop_function 则把区间外 token 权重置零。不能因为两者都使用 TIS 就写成“公开 GLM-5.2 recipe 已启用 IcePop”。[^slime_loss]
  5. TITO 已公开到可运行示例,DIS 仍主要是可组合积木。slime 的 Strands-SGLang 示例明确写出 TITO、native input_ids in/out 和 no-retokenization,并给出 Qwen3-8B 启动流程;三策略 mismatch、TIS/MIS/RS 则提供了 DIS 所需对象,但固定提交中没有 DIS 同名 GLM recipe。[^slime_tito][^slime_mismatch]
  6. DSA Indexer 是 NPU 侧最扎实的一项。slime 有 GLM-5/5.2 的 DSA/IndexShare 训练代码,MindSpeed-LLM 有昇腾 GLM-5/5.2 预训练与 DSA 实现;IndexCache 则公开了 GLM-5 推理侧的跨层索引复用补丁。训练、推理和缓存优化三个对象要分开。[^slime_dsa][^mindspeed_llm][^indexcache]
  7. slime 的 OPD 是通用实现,不是 Cross-Stage OPD 的完整公开配方。它支持 SGLang 或 Megatron teacher,并有 Qwen3-8B 学生、Qwen3-32B 教师示例;没有公开 GLM 各 RL 阶段 checkpoint、教师路由和最终整合 recipe。[^slime_opd]
  8. MOPD 不是 GLM 官方方法。MOPD 论文来自北京大学、小米 LLM Core 等机构;它与 GLM-5.2 “十多个专家并行 OPD”结构相近,但截至核验日期没有公开代码,也不能把两者直接画等号。[^mopd][^glm52]
  9. SAO 与 CompactionRL 是“论文公开、同名 recipe 未见”。两篇论文都说明方法用于 GLM-5.2 pipeline,CompactionRL 还明确提到使用 slime 训练;但公开 slime 中没有同名训练配置。slime 的公开 issue #2212 也在询问两者的开源计划,截至审计日仍为 open 且没有维护者答复。普通异步队列不等于 SAO,coding-agent 的 auto-compaction 分支也不等于 CompactionRL。[^sao][^compaction][^slime_issue_2212]
  10. 昇腾已有模型、DSA、GRPO、异步和推理量化积木,但还没有公开的 GLM-5.x 后训练闭环。MindSpeed-LLM 可跑 GLM 预训练,MindSpeed-RL/verl 有通用 NPU RL;GLM-5 仓的 Ascend 文档与 vLLM-Ascend 主要覆盖部署。[^mindspeed_rl][^verl_npu][^glm5_ascend]

所以更准确的总判断是:

GLM 后训练公开生态已经覆盖“报告 + 部分 GPU 实现 + 若干可运行 recipe + 通用 NPU 积木”,但尚未公开一条与官方 GLM-5.2 同阶段、同数据、同奖励、同一致性控制的昇腾端到端复现链路。

![开源不是一个二值开关](https://pic.shaojiemike.top/shaojiemike/2026/08/59198a0bc767e2bf500eab482248d04f.png){ width=94% }
开源不是一个二值开关。论文、源码、配方与 NPU 闭环是逐层增加的证据。本图是认知插图,不作为技术证据。

怎样判定开源

“有没有开源”容易失真,是因为不同人默认的交付物不同。本文使用五层证据阶梯:

层级 最小交付物 能回答的问题 仍不能证明
L1 论文/报告 方法、公式、实验与边界 原理是什么、作者报告了什么 代码可运行
L2 源码模块 loss、scheduler、trajectory 或 model patch 某个实现对象确实存在 参数组合正确、结果可复现
L3 可运行配方 模型、数据、脚本、配置和依赖 某个公开任务可以跑通 等价于 GLM 内部阶段
L4 同阶段复现 对应 checkpoint、数据/奖励、阶段顺序和评测 可以重建声明的 pipeline NPU 数值语义不变
L5 NPU 闭环 NPU actor/rollout/teacher/verifier/同步与验证 算法在昇腾上端到端成立 与内部生产系统完全相同
![GLM 后训练开源证据阶梯](https://pic.shaojiemike.top/shaojiemike/2026/08/c90347ae8a55b3695497021b9de709df.png){ width=98% }
上层证据不能自动推出下层;“有相似能力”也不能写成“该算法已经开源”。仓库结论绑定 2026-08-06 核验的固定 commit。

缺失证据的写法

本文的“未见”只表示:在列出的组织公开仓库、固定提交、文档与代码检索中没有找到对应交付物。它不证明内部没有实现,也不预测后续不会开源

方法总表

下面的“slime 状态”区分同名实现等价行为;“NPU 状态”区分通用算法积木与 GLM 专用 recipe。

方法 公开材料 slime / THUDM 昇腾 NPU 当前判定
Reasoning RL GLM-5 报告 GLM-5.2 大规模 GRPO recipe 通用 GRPO 可用;无 GLM-5.x RL recipe L3,NPU 未闭环
Agentic RL GLM-5 报告 coding-agent RL、AgentRL、SCALE-CUA 通用多轮/异步积木 框架公开,GLM 配方未见
General RL GLM-5 报告 未见同阶段 recipe 未见 GLM recipe L1
IcePop GLM-5 报告 icepop_function;GLM-5.2 脚本默认不是它 可移植数学积木,未见公开 NPU 验证 L2
TITO GLM-5 报告 同名 Strands-SGLang 示例 + core 轨迹实现 可复用数据契约,未见 GLM recipe 通用 L3
DIS GLM-5/SAO 未同名;三策略/TIS/MIS/RS 积木存在 verl 有 one-step off-policy;非 DIS 复刻 积木公开
DSA Indexer GLM/IndexShare 报告 训练实现;IndexCache 推理 patch MindSpeed-LLM 有 GLM DSA 训练 NPU 预训练已达 L3
Cross-Stage OPD GLM-5 报告 通用 OPD;无 GLM 跨阶段 recipe 未见 OPD 闭环 L2-L3 的通用实现
MOPD 独立论文 未见;不是 GLM 官方命名 未见 L1
SAO 独立论文 未见同名 recipe 有异步基础能力,未见 SAO L1
CompactionRL 独立论文 未见同名 recipe 未见 L1
![GLM 后训练方法支持地图](https://pic.shaojiemike.top/shaojiemike/2026/08/36fd5a3e258c33faa0c294b6a5318bc6.png){ width=98% }
方法支持地图。绿色表示直接实现或配方,蓝色表示通用积木,橙色表示论文/报告,红色表示未见 GLM-5.2 NPU 端到端闭环。

三类 RL

Reasoning RL

它是什么。GLM-5 的 Reasoning RL 面向数学、代码和科学推理,使用可验证奖励与 GRPO。组内多条回答的相对奖励提供 advantage,IcePop 再处理训练与 rollout 的概率不一致。[^glm5]

公开到哪里。slime 的 GLM-5.2 文档和脚本已经不是玩具示例:模型为 744B-A40B,训练使用 Megatron BF16,rollout 使用 SGLang FP8,公开配置是 32 节点、每节点 8 张 H100,并接入 DAPO-Math-17k、GRPO、DSA/IndexShare、PD disaggregation 与 TIS。[^slime_glm52]

这证明了三件事:

  • slime 能承载 GLM-5.2 模型结构与大规模 RL 调度;
  • 训练和 rollout 可以使用不同精度与不同执行引擎;
  • 公开 recipe 已包含处理 train-infer mismatch 的入口。

但它没有公开内部 Reasoning RL 的完整 prompt 分布、verifier 组合、课程顺序与最终 checkpoint。因此它是强 L3 证据,不是 GLM-5.2 内部阶段的 L4 复现。

NPU 情况。MindSpeed-RL 与 verl 的 Ascend 路径已经公开 GRPO/DAPO、Megatron/FSDP、SGLang/vLLM 等组合,证明通用 NPU RL 可以运行;固定支持表中没有 GLM-5/5.2 行。[^mindspeed_rl][^verl_npu]

Agentic RL

它是什么。Agentic RL 的轨迹包含模型动作、工具调用和环境 observation。长短差异极大,因此 GLM-5 使用异步调度,并通过 TITO、DIS 与 policy version 约束动作错位和策略滞后。[^glm5]

slime 公开了什么。coding-agent 示例给出了很关键的 “string in, token out” 契约:每轮保留 prompt_ids、采样 output_ids 和逐 token rollout log-prob;模型新输出 loss_mask=1,模板与 observation 为 0;对话分叉与 auto-compaction 会变成独立的 root-to-leaf trajectory。[^slime_agent]

这已经覆盖 Agentic RL 最容易被忽略的训练事实:环境以字符串交互,不代表 trainer 可以重新 tokenize 字符串来猜动作。此外,另一个 strands-sglang 示例显式使用 TITO 名称,并给出 native token in/out 的 Qwen3-8B 训练流程。仍未公开的是 GLM-5 报告中的全部 Gateway 元数据、DP-aware routing 和内部环境配置。[^slime_tito]

其他 THUDM 仓。AgentRL 是独立的异步 Agentic GRPO 框架,包含 controller、worker、环境 loop、SGLang rollout 和 FSDP/CUDA 训练;其 loss 也直接消费 rollout log-prob 与 loss mask。SCALE-CUA 则进一步公开 GUI agent 的在线 RL 数据生成、环境、训练栈、GLM-4.6V checkpoint 与可执行奖励。[^agentrl][^scalecua]

这两个仓证明机构有能力开源“环境 + 训练框架 + checkpoint”的完整能力切片,但它们不是 GLM-5.2 文本 Agentic RL recipe,也没有 NPU 后端

General RL

它是什么。General RL 面向更开放的通用任务,奖励不再只依赖精确规则,而是组合规则验证器、Outcome Reward Model 与生成式 judge。它的核心难点是 reward coverage、偏差与可攻击性。[^glm5]

公开到哪里。固定 slime 提交提供通用 reward 接口,但没有找到标为 GLM General RL 的数据配比、reward ensemble、judge prompt、采样参数与 stage checkpoint。因而不能把“框架可配置多 reward”写成“General RL 已开源”。当前只能判为 L1 方法公开 + 通用接口存在

一致性机制

IcePop

它是什么。IcePop 比较同一组权重在训练引擎和 rollout 引擎上对同一个 sampled token 的概率;当比值超出可信区间时,该 token 不产生梯度。它隔离的是 kernel、精度、DSA、KV Cache 或并行归约导致的实现偏差,不是异步 policy lag。[^glm5]

slime 的关键细节。loss.py 同时定义:

  • vanilla_tis_function:把 TIS ratio 截断到上下界;
  • icepop_function:区间内保留 ratio,区间外直接变为零;
  • loss 主路径:如果没有传入自定义 tis_function,默认使用 vanilla_tis_function。[^slime_loss]

而公开 GLM-5.2 脚本只设置 --use-tis --tis-clip-low 0.5 --tis-clip 2.0,没有显式指定 icepop_function。所以准确表述应是:

slime 已开源 IcePop 风格的 token masking 函数;公开 GLM-5.2 recipe 默认启用的是 vanilla TIS clamp。

NPU 移植函数本身不难,难的是构造可靠对照:同 checkpoint、同 exact token、同 DSA index、同前缀、同 log-prob 精度。没有这组回归,ratio 异常无法归因。

TITO

它是什么。Token-In-Token-Out 把 token ID 视为 Agent RL 的动作事实。Gateway 可以接受字符串请求,但必须把实际采样 token、边界、log-prob 和策略版本原样交给 trainer,禁止经由 decode → string → encode 重建动作。[^glm5]

开源情况。固定 slime 提交已经直接使用 TITO 名称:examples/strands_sglang 对比了文本 Agent loop 与 SGLang native token API,代码把 rollout.token_idsloss_masklogprobs 直接写入 sample,并提供 Qwen3-8B、DAPO-Math-17k 的启动步骤。coding-agent adapter 与 TrajectoryManager 还覆盖 exact prompt_ids/output_ids、前缀漂移和分叉。[^slime_tito][^slime_agent]

因此 TITO 应判定为通用可运行示例已公开,GLM-5.x 专用 recipe 与 NPU 验证未见。NPU 端无需发明新算法,必须保证 vLLM-Ascend/SGLang-NPU 把采样 ID 和 log-prob 作为一等数据返回,且 trainer 不再重新分词。

DIS

它是什么。Direct Double-Sided Importance Sampling 直接比较当前训练策略与实际 rollout 行为策略的 token 概率,以双边阈值拒绝过旧或偏差过大的 token;再配合 policy version 丢弃整条过旧 trajectory。[^glm5][^sao]

slime 的真实状态。没有找到 DIS 同名实现,但 mismatch helper 已公开:

  • bypass PPO:直接使用 current/rollout ratio;
  • decoupled three-policy PPO:区分当前、旧训练和 rollout 策略;
  • TIS、MIS 与 rejection sampling:既能加权,也能做 token mask。[^slime_mismatch]

这些积木足以组合出 DIS 风格路径,却不能证明 GLM 的阈值、版本门控和训练配方已经公开。verl Ascend 的 one-step off-policy 与 fully-async recipe同样只是邻近能力,不应改名为 DIS。[^verl_npu]

DSA Indexer

它是什么。DSA Indexer 为每个 query token 选择少量历史 key/value。对 RL 来说,token 动作相同还不够;如果 train 与 rollout 选中了不同历史位置,hidden state 和概率分布仍会不同。

公开情况分三条线:

  1. slime 训练线:GLM-5 插件包含 DSA indexer、index loss 与 IndexShare 相关实现,GLM-5.2 recipe 直接使用这些模型组件。[^slime_dsa]
  2. MindSpeed-LLM NPU 训练线:GLM-5 与 GLM-5.2 都有 Prototype 预训练入口,支持表记录 GLM-5 的 Ascend Pass 和 GLM-5.2 Test;源码与测试包含 DSA/IndexShare。[^mindspeed_llm]
  3. IndexCache 推理线:THUDM/IndexCache 为 SGLang/vLLM 提供 GLM-5/DeepSeek 的跨层 index reuse patch,目标是减少推理 indexer 开销;仓内是推理补丁,不是训练感知蒸馏 recipe。[^indexcache]

此外,sgl-kernel-npu 有 NPU lightning indexer 等推理 kernel;vLLM-Ascend 的 GLM-5.2 页面覆盖 DSA 与多种量化部署。它们证明 NPU 推理栈在补齐算子,但不替代 RL 的训推 index 一致性测试。[^sgl_kernel_npu][^vllm_ascend]

蒸馏与长程算法

Cross-Stage OPD

它是什么。GLM-5 先分别完成 Reasoning、Agentic 与 General RL,再让学生从自己的策略采样,调用前序阶段教师在同一 token 前缀上给密集 log-prob 信号,以减少能力覆盖与遗忘。[^glm5]

slime 公开了通用 OPD。它支持两种 teacher:

  • sglang teacher:独立推理服务返回教师 log-prob;
  • megatron teacher:训练侧直接加载教师 checkpoint 计算 log-prob。

文档还给出 Qwen3-8B 学生、Qwen3-32B 教师和 OpenThoughts3 数据的可运行流程。[^slime_opd]

但公开材料没有提供 GLM 三个 RL 阶段的 checkpoint、prompt 混合、teacher route、每阶段权重和最终评测,因此结论只能是:通用 OPD 已达 L3,Cross-Stage GLM OPD 仍停在 L1-L2。MindSpeed-RL 与 verl NPU 固定文档中未找到 OPD teacher worker 或对应 recipe。

MOPD

先纠正归属。MOPD 全称 Multi-Teacher On-Policy Distillation,论文作者机构包括北京大学、小米 LLM Core、香港大学和中国人民大学,不是智谱或 THUDM 发布的 GLM 官方方法。固定论文也未给出公开代码链接。[^mopd]

它把 prompt 按领域硬路由到同源专家教师,再在学生自己访问的状态上做 reverse-KL 蒸馏。GLM-5.2 官方博客披露“十多个专家并行 OPD,约两天完成”,在结构上与 MOPD 相近;但官方没有使用 MOPD 名称,也没有公开相同的路由与 loss 配方。[^glm52]

因此本文只把 MOPD 当作理解 GLM 多专家并行 OPD 的参照系,不把论文实验当成 GLM 的开源证明。

SAO

它是什么。Single-Rollout Asynchronous Optimization 让每个 prompt 只生成一条 trajectory,完成即训练,从而消除 GRPO 同组等待;因为失去组内 baseline,它重新引入 Critic,并使用 value normalization、dual clipping 与 Skip-Observation GAE 稳定训练。[^sao]

开源情况。论文公开且说明用于 GLM-5.2 pipeline,但没有给出独立代码仓;固定 slime 提交也没有 SAO、Skip-Observation GAE 或对应单 rollout 配置。slime/AgentRL 的异步队列可以承载未来实现,却不能等同于 SAO。

公开 issue #2212 直接询问 slime 是否计划开源 SAO 与 CompactionRL,截至审计日没有关联分支、PR 或维护者回复。它是当前公开状态的旁证,不是“永远不会开源”的承诺。[^slime_issue_2212]

NPU 侧已有 fully-async 与 actor/critic 训练积木,意味着迁移不是从零开始;真正缺的是 Critic 生命周期、跨 observation GAE、当前/rollout ratio、版本门控和长程环境组成的同一 recipe。

CompactionRL

它是什么。CompactionRL 不把摘要当作外部不可训练预处理,而让同一个策略在上下文接近预算时生成 summary,再以最终任务奖励联合训练“摘要动作”和“任务动作”;token-level loss 与 cross-trajectory GAE 用于修正不等长分段带来的权重和信用偏置。[^compaction]

最容易误判的地方。CompactionRL 论文明确说训练使用 slime;同时 slime coding-agent 的 TrajectoryManager 能识别 auto-compaction 造成的 prompt 分叉。两条事实都成立,但仍不能推出公开 slime 已实现 CompactionRL:

  • trajectory 分叉只是记录上下文变更
  • CompactionRL 还需要把 summary token 纳入 policy loss;
  • 需要最终奖励跨段回传与 cross-trajectory GAE;
  • 需要按全部有效 token,而不是按 segment 数量归一化。

固定提交未找到这些同名 loss/GAE/recipe,因此当前判为 论文 L1 + 框架邻近能力,NPU 侧未见公开实现。

slime 到底开了什么

把前面的零散结论合并,THUDM/slime@f655e13 对本课题最有价值的公开对象是:

已有对象 对部门的直接价值
模型 GLM-5/5.2 Megatron 插件、DSA/IndexShare 可定位模型前向与 indexer 接口
大规模 RL 配方 GLM-5.2 744B-A40B、256×H100 可建立 GPU 参考行为与吞吐基线
概率一致性 mismatch metrics、TIS/MIS/RS、IcePop 函数 可定义 NPU ratio 与 mask 回归
Agent 轨迹 TITO 示例、exact IDs、log-prob、loss mask、分叉 可直接复用 TITO 数据协议与通用 recipe
OPD SGLang/Megatron teacher 两种模式 可拆出 teacher prefill 与 payload 接口
缺口 Cross-Stage、SAO、CompactionRL 同名 recipe 未见 需要自研或等待上游公开

名字相近不代表同一配方

--use-tis 不自动等于 IcePop;TITO 已有同名通用示例但不等于 GLM 内部 Agentic recipe;mismatch helper 可组合 DIS 但不等于官方 DIS recipe;auto-compaction trajectory 也不等于 CompactionRL。

智谱与 THUDM 相关仓

除了 slime,公开组织中还有几类容易混在一起的仓库:

模型与部署

  • **zai-org/GLM-5**:模型家族入口,提供 BF16/FP8 权重、部署与微调链接;仓库本身不包含上述完整后训练 pipeline。Ascend 页面覆盖 vLLM-Ascend、SGLang、xLLM 和混合 W8A8 部署。[^glm5_repo][^glm5_ascend]
  • **THUDM/IndexCache**:SGLang/vLLM 推理补丁,支持 GLM-5 的跨层索引复用;不是 RL 或 indexer 训练仓。[^indexcache]

Agentic RL

  • **THUDM/AgentRL**:异步 Agentic GRPO 基础设施,GPU/CUDA 路径完整,适合参考环境 worker、controller、trajectory 与 rollout/trainer 解耦。[^agentrl]
  • **THUDM/SCALE-CUA**:公开 GUI agent 的 task generation、在线 RL、环境与 checkpoint,其中包含 GLM-4.6V;它说明相关团队确实会开源完整场景,但模型、环境和算法对象都不同于 GLM-5.2 文本 pipeline。[^scalecua]
  • **THUDM/T1**:推理扩展工作,固定提交只有论文说明和 SFT 数据入口,README 仍写着模型权重与 RL 数据“即将发布”,不宜作为当前 RL 训练代码证据。[^t1]

没找到的同名仓

截至核验日期,对 THUDMzai-org 的公开仓库枚举和固定提交检索中,未找到名为 SAO、CompactionRL 或 GLM Cross-Stage OPD 的独立仓库。这只是公开检索边界,不是对私有仓或未来开源的判断。

昇腾 NPU 到了哪里

NPU 支持需要拆成四层看,否则“模型能推理”很容易被误写成“算法能训练”。

模型训练层

MindSpeed-LLM@79afbee 已有 GLM-5 和 GLM-5.2 预训练入口,GLM-5.2 标为 Prototype;支持表记录 32×16 Ascend 规模,源码/测试覆盖 DSA 与 IndexShare。仓库也有通用 QAT engine,包括 w4a16-mxfp4w4a4-mxfp4w4a8-moe-only 等 scheme,但未见这些 scheme 与 GLM-5.2 后训练组合的公开 recipe。[^mindspeed_llm]

通用 RL 层

MindSpeed-RL@26c21e6 有 GRPO、DAPO、PPO、多轮 Agent RL、partial rollout、训练推理一体化与重分片等能力。项目 README 同时提示 2026 年 4 月后停止新增特性,并把后续昇腾实践引向 verl 生态。[^mindspeed_rl]

verl@87c68d2 的 Ascend 支持表已有 Qwen 系列 GRPO、one-step off-policy 与 fully-async 示例,但固定表中没有 GLM-5/5.2。[^verl_npu]

推理与量化层

GLM-5 仓、vLLM-Ascend 与 sgl-kernel-npu 已覆盖 GLM-5.2 部署、DSA、长上下文及 BF16/W8A8/W4A8C8 等推理能力。它们解决 rollout/serve 的一部分模型执行问题,不提供 actor optimizer、teacher、reward、policy version 与权重原子切换。[^glm5_ascend][^vllm_ascend][^sgl_kernel_npu]

端到端缺口

要把当前积木升级为“GLM-5.2 NPU 原生后训练”,还缺一份公开的统一合同:

  1. 模型合同:GLM-5.2 actor/reference/critic/teacher 的 checkpoint 与并行切分。
  2. 动作合同:exact token IDs、action/observation mask、tool trace 和 tokenizer 版本。
  3. 概率合同:rollout/current/old/train-engine log-prob 的定义、精度与阈值。
  4. 稀疏合同:DSA/IndexShare 在 train、rollout、teacher 上的 Top-k tie 与复现规则。
  5. 同步合同:训练分片转 rollout 分片、可选量化、发送、加载、原子版本切换和确认。
  6. 阶段合同:Reasoning/Agentic/General checkpoint 如何进入 Cross-Stage OPD,SAO/CompactionRL 在哪个阶段启用。
  7. 验证合同:同 checkpoint 的 token agreement、log-prob mismatch、trusted-token ratio、收敛与吞吐基线。

部门实施顺序

如果目标是“突破 GLM 的 NPU 原生训练”,不建议一开始同时复刻所有论文名词。更稳妥的顺序是:

  1. 先打通 GLM-5.2 GRPO 最小闭环。以 slime 的公开 H100 recipe 为 GPU 参考,在 NPU 上对齐模型 forward、DSA index、采样 token、reward、weight sync 与基础收敛。
  2. 再建立一致性观测面。先保存 exact token 与 rollout log-prob,再实现同 checkpoint train/infer mismatch;确认 vanilla TIS、IcePop mask 和 off-policy ratio 分别在处理什么偏差。
  3. 然后扩展 Agentic RL。加入工具/环境 observation mask、trajectory version、异步 ready queue 与 staleness gate。不要在 exact-token 链路未稳定时先追吞吐。
  4. 再移植通用 OPD。先跑单教师 NPU OPD,验证 sampled token 的师生 log-prob;随后才扩展到 Cross-Stage 或多教师路由。
  5. 最后验证 SAO 与 CompactionRL。二者都会改变样本组织、Critic/GAE 或长程信用分配,调试面明显大于 GRPO/OPD,不适合作为第一个 NPU 穿刺点。

优先级可以记成:

模型可跑 < 动作可重放 < 概率可比较 < 版本可追溯 < 阶段可复现。

总结

对这些技术的开源情况,可以压缩成六句话:

  1. Reasoning RL 在 slime 中已有公开 GLM-5.2 GPU 大规模配方,Agentic RL 有框架与 exact-token 链路,General RL 仍主要是报告级。
  2. IcePop 有源码函数,但公开 GLM-5.2 脚本默认 TIS 路径不是显式 IcePop;TITO 已有同名可运行通用示例,DIS 仍主要是组合积木。
  3. DSA Indexer 是昇腾支持最深入的组件:GLM 预训练实现、测试与推理 kernel 均有公开证据。
  4. Cross-Stage OPD 只有通用 OPD 代码,没有 GLM 跨阶段 checkpoint/teacher 配方;MOPD 来自小米 MiMo 等机构,不是 GLM 官方开源。
  5. SAO 与 CompactionRL 已论文公开并声明用于 GLM-5.2,但固定 slime 中未见同名训练 recipe;邻近异步或 compaction 代码不能替代算法实现。
  6. NPU 侧已有模型、RL、异步、DSA 与部署积木,缺的是把它们焊成同一个 GLM-5.x 后训练数值闭环。

参考资料

[^glm5]: GLM Team, GLM-5: from Vibe Coding to Agentic Engineering, 2026。
[^glm52]: Z.ai, GLM-5.2: Built for Long-Horizon Tasks, 2026-06-16。
[^slime_glm52]: THUDM, slime GLM-5.2 744B-A40B examplerun script,固定提交 f655e13
[^slime_loss]: THUDM, slime TIS and IcePop functions,固定提交 f655e13
[^slime_agent]: THUDM, slime coding-agent token contractTrajectoryManager,固定提交 f655e13
[^slime_tito]: THUDM, slime x Strands-SGLang TITO exampletoken-preserving generate implementation,固定提交 f655e13
[^slime_mismatch]: THUDM, slime train-inference mismatch helper,固定提交 f655e13
[^slime_issue_2212]: THUDM/slime, Question: Do we support the SAO method used in the training of GLM-5.2? #2212,截至 2026-08-06 为 open,未关联分支或 PR。
[^slime_dsa]: THUDM, slime GLM-5 pluginindexer implementation,固定提交 f655e13
[^slime_opd]: THUDM, slime on-policy distillation documentation,固定提交 f655e13
[^mopd]: Ma et al., MOPD: Multi-Teacher On-Policy Distillation for Capability Integration in LLM Post-Training, 2026。
[^sao]: Hou et al., Single-Rollout Asynchronous Optimization for Agentic Reinforcement Learning, 2026。
[^compaction]: Li et al., CompactionRL: Reinforcement Learning with Context Compaction for Long-Horizon Agents, 2026。
[^glm5_repo]: Z.ai, GLM-5 repository,固定提交 436efa0
[^glm5_ascend]: Z.ai, Using Ascend NPU to Deploy GLM-5.2,固定提交 436efa0
[^mindspeed_llm]: Ascend, MindSpeed-LLM,重点参见 GLM-5.2 examplesupported modelsQAT engine,固定提交 79afbee
[^mindspeed_rl]: Ascend, MindSpeed-RL,固定提交 26c21e6
[^verl_npu]: verl, Ascend model and algorithm support,固定提交 87c68d2
[^indexcache]: THUDM, IndexCache,固定提交 08d22d6
[^agentrl]: THUDM, AgentRL,固定提交 6a73409
[^scalecua]: THUDM, SCALE-CUA,固定提交 3929e2f
[^t1]: THUDM, T1,固定提交 5dfb8ff
[^sgl_kernel_npu]: SGLang, sgl-kernel-npu
[^vllm_ascend]: vLLM Ascend, GLM-5.2 deployment guide

Author

Shaojie Tan

Posted on

2026-08-06

Updated on

2026-08-06

Licensed under